bitkeeper revision 1.1323.1.2 (42652140LgTunNR_6zFKtu-45HaaTQ)
authoriap10@freefall.cl.cam.ac.uk <iap10@freefall.cl.cam.ac.uk>
Tue, 19 Apr 2005 15:18:24 +0000 (15:18 +0000)
committeriap10@freefall.cl.cam.ac.uk <iap10@freefall.cl.cam.ac.uk>
Tue, 19 Apr 2005 15:18:24 +0000 (15:18 +0000)
Bug fix for audit code.
More verbose 'q' debug key.
Signed-off-by: ian.pratt@cl.cam.ac.uk
xen/arch/x86/audit.c
xen/arch/x86/domain.c
xen/include/asm-x86/mm.h

index 9c9f198cd49507229bce7b2ad7cbe56ae4c6d328..72c0d0b622a3293923f096003d5eb2409f5587c6 100644 (file)
@@ -285,7 +285,7 @@ int audit_adjust_pgtables(struct domain *d, int dir, int noisy)
                                    d->id, l1mfn, i, gmfn);
                             errors++;
                         }
-                    }
+                    }             
 
                     if ( page_get_owner(gpage) != d )
                     {
@@ -587,7 +587,7 @@ void _audit_domain(struct domain *d, int flags)
                              unsigned long mfn)
     {
         struct pfn_info *page = &frame_table[mfn];
-        unsigned long *pt = map_domain_mem(mfn);
+        unsigned long *pt = map_domain_mem(mfn<<PAGE_SHIFT);
         int i;
 
         for ( i = 0; i < L1_PAGETABLE_ENTRIES; i++ )
index 6d065980e575ba1f10699d6b58e04bc5f7139280..6b7e69a3017da33caeaab6977f0ed6392cecec61 100644 (file)
@@ -185,6 +185,14 @@ void dump_pageframe_info(struct domain *d)
                    page->u.inuse.type_info);
         }
     }
+
+    list_for_each_entry ( page, &d->xenpage_list, list )
+    {
+        printk("XenPage %08x: caf=%08x, taf=%08x\n",
+               page_to_phys(page), page->count_info,
+               page->u.inuse.type_info);
+    }
+
     
     page = virt_to_page(d->shared_info);
     printk("Shared_info@%08x: caf=%08x, taf=%08x\n",
index 62260c19df157eca5dc153bb3a45ef239a135bf8..e4014d5df896dbb7075ad16abad5f8dd15fa3f44 100644 (file)
@@ -332,7 +332,7 @@ int audit_adjust_pgtables(struct domain *d, int dir, int noisy);
 #define AUDIT_QUIET          ( 1u << 2 )
 
 void _audit_domain(struct domain *d, int flags);
-#define audit_domain(_d) _audit_domain((_d), 0)
+#define audit_domain(_d) _audit_domain((_d), AUDIT_ERRORS_OK)
 void audit_domains(void);
 
 #else